package com.goldgov.code.service;

import java.io.File;
import java.util.List;
import java.util.Map;

import com.goldgov.code.meta.AuthorInfo;
import com.goldgov.code.meta.ModuleInfo;
import com.goldgov.code.template.Group;

public interface ModuleService {
	
	void addModule(ModuleInfo module);
	
	void updateModule(ModuleInfo module);
	
	void deleteModule(String[] ids);
	
	ModuleInfo getModule(String id);
	
	List<ModuleInfo> listModule(String projectID);
	
	long countModule(int firstRow, int maxResult);
	
	void addRelationModule(String primaryModuleID, String subModuleID);
	
	void codeGenerate(String packageName,String[] moduleIDs,File targetPath,AuthorInfo author);
	
	void codeGenerate(String packageName,String[] moduleIDs,File targetPath,AuthorInfo author,Group group);
	
	void codeGenerate(String packageName,String[] moduleIDs,File targetPath,AuthorInfo author,Group group,Map<String, Object> paramMap);

}